htt[p]erl, simulador de web server
Publicado por Fábio Berbert de Paula 06/01/2003
[ Hits: 7.986 ]
Homepage: https://fabio.automatizando.dev
htt[p]erl é um script usado para simular um servidor web, muito bom para quem deseja entender melhor o protocolo de comunicação entre browser e servidor. O programa fica escutando na porta TCP 80 e envia uma página HTML padrão para o browser do usuário.
#!/usr/bin/perl # --------------------------------------------------------- # httperl.pl (htt[p]erl) # # Script em Perl usado para simular um servidor web, muito # bom para quem deseja entender melhor o protocolo de # comunicação entre browser e servidor # # # Programado por Fábio Berbert de Paula # <fabio@vivaolinux.com.br> # # Rio de Janeiro, 06 de Janeiro de 2003 # --------------------------------------------------------- $| = 1; # criar socket na porta 80 do servidor use IO::Socket; my $sock = new IO::Socket::INET ( LocalPort => '80', Type => SOCK_STREAM, Proto => 'tcp', Listen => 10 ); die "Não consegui iniciar o servidor: $!\n" unless $sock; print "Servidor iniciado ...\n"; # definir o cabeçalho de retorno básico my $retorno = " HTTP/1.1 200 OK Server: htt[p]erl/1.0 (GNU/Linux) Connection: close Content-Type: text/html <html> <body> Uma cortesia de <a href=\"http://www.vivaolinux.com.br\">Viva o Linux</a>. </body> </html> "; # aceitar conexões TCP while (my $new_sock = $sock->accept()) { while($linha = <$new_sock>) { # imprimir o cabeçalho recebido pelo browser do usuário print $linha; # se linha vazia, então o browser envio câmbio, vamos respondê-lo if ($linha!~/[A-Za-z0-9]/) { print $new_sock $retorno; # fechar conexão com o cliente $new_sock = ''; } } close(W); } close($sock);
Ler uma sequências fasta e separar por tamanho [Bioinformática]
Nenhum coment�rio foi encontrado.
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Iinstalar o Scanner Kodak i940 no Linux Mint 19/20? (3)
Pastas da raiz foram para a área de trabalho (4)
usb's param de funcionar do nada (6)
Como criar condições de monitoria de 2 IPs no Zabbix (0)
Alguém já usou o framework Avalonia para desenvolver interfaces de usu... (2)